package com.ruoyi.task.mapper;

import com.ruoyi.task.domain.EquipmentChannelConfig;
import java.util.List;
import com.ruoyi.task.domain.EquipmentConfig;
import org.apache.ibatis.annotations.Param;

/**
 * 网点摄像头配置Mapper接口
 * 
 * @author ruoyi
 * @date 2025-04-22
 */
public interface EquipmentConfigMapper 
{
    /**
     * 查询网点摄像头配置
     * 
     * @param equipmentId 网点摄像头配置主键
     * @return 网点摄像头配置
     */
    public EquipmentConfig selectEquipmentConfigByEquipmentId(Long equipmentId);

    /**
     * 查询网点摄像头配置列表
     * 
     * @param equipmentConfig 网点摄像头配置
     * @return 网点摄像头配置集合
     */
    public List<EquipmentConfig> selectEquipmentConfigList(EquipmentConfig equipmentConfig);

    /**
     * 新增网点摄像头配置
     * 
     * @param equipmentConfig 网点摄像头配置
     * @return 结果
     */
    public int insertEquipmentConfig(EquipmentConfig equipmentConfig);

    /**
     * 修改网点摄像头配置
     * 
     * @param equipmentConfig 网点摄像头配置
     * @return 结果
     */
    public int updateEquipmentConfig(EquipmentConfig equipmentConfig);

    /**
     * 删除网点摄像头配置
     * 
     * @param equipmentId 网点摄像头配置主键
     * @return 结果
     */
    public int deleteEquipmentConfigByEquipmentId(Long equipmentId);

    /**
     * 批量删除网点摄像头配置
     * 
     * @param equipmentIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEquipmentConfigByEquipmentIds(Long[] equipmentIds);


    /**
     * 根据电脑ip与网点号查询摄像头配置
     * @param bankCode
     * @param cameraComputerIp
     * @return
     */
    public EquipmentChannelConfig queryEquipmentChannelConfig(@Param("bankCode") String bankCode,
            @Param("cameraComputerIp") String cameraComputerIp);


    /**
     * 根据摄像头id查询摄像头配置
     * @param channelId
     * @return
     */
    public EquipmentChannelConfig selectChannelConfigByChannelId(Long channelId);

    /**
     * 查询录像机摄像头配置
     * @param channelConfig
     * @return
     */
    public List<EquipmentChannelConfig> queryEquipmentChannelConfigList(EquipmentChannelConfig channelConfig);
}
